@mixin flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    @content;
}

@mixin justify-content($value) {
    -webkit-justify-content: $value;
    -moz-justify-content: $value;
    -ms-justify-content: $value;
    -o-justify-content: $value;
    justify-content: $value;
}

@mixin align-items($value) {
    -webkit-align-items: $value;
    -moz-align-items: $value;
    -ms-align-items: $value;
    -o-align-items: $value;
    align-items: $value;
}

@mixin flex-direction($prop) {
    -webkit-flex-direction: $prop;
    -moz-flex-direction: $prop;
    -ms-flex-direction: $prop;
    -o-flex-direction: $prop;
    flex-direction: $prop;
}

@mixin box-sizing($value) {
    -webkit-box-sizing: $value;
    -moz-box-sizing: $value;
    -ms-box-sizing: $value;
    -o-box-sizing: $value;
    box-sizing: $value;
}

@mixin transition($prop, $duration, $timing) {
    -webkit-transition: $prop $duration $timing;
    -moz-transition: $prop $duration $timing;
    -ms-transition: $prop $duration $timing;
    -o-transition: $prop $duration $timing;
    transition: $prop $duration $timing;
}

@mixin border-radius($value) {
    -webkit-border-radius: $value;
    -moz-border-radius: $value;
    border-radius: $value;
}

@mixin box-shadow($offsetX, $offsetY, $blurRadius, $color) {
    -webkit-box-shadow: $offsetX $offsetY $blurRadius $color;
    -moz-box-shadow: $offsetX $offsetY $blurRadius $color;
    box-shadow: $offsetX $offsetY $blurRadius $color;
}

@mixin user-select($value) {
    -webkit-user-select: $value;
    -moz-user-select: $value;
    user-select: $value;
}